home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_lib.lha / oberon-a / source1.lha / source / amiga / Icon.mod < prev    next >
Encoding:
Text File  |  1995-01-26  |  3.0 KB  |  119 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: Icon.mod $
  4.   Description: Interface to icon.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.7 $
  8.       $Author: fjc $
  9.         $Date: 1995/01/26 02:39:55 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. ***************************************************************************)
  21.  
  22. <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
  23. <*$ CaseChk-  IndexChk- LongVars+ NilChk-  *>
  24. <*$ RangeChk- StackChk- TypeChk-  OvflChk- *>
  25.  
  26. MODULE [2] Icon;
  27.  
  28. IMPORT SYS := SYSTEM, Kernel, e := Exec, w := Workbench;
  29.  
  30. (*
  31. **      $VER: icon.h 36.1 (26.10.90)
  32. **
  33. **      external declarations for icon.library
  34. *)
  35.  
  36. CONST
  37.  
  38.   iconName * = "icon.library";
  39.  
  40. VAR
  41.  
  42.   base * : e.LibraryPtr;
  43.  
  44.  
  45. (*-- Library Functions ------------------------------------------------*)
  46.  
  47. (*
  48. **      $VER: icon_protos.h 38.2 (16.6.93)
  49. *)
  50.  
  51. PROCEDURE GetIcon* [base,-42]
  52.   ( name      [8] : ARRAY OF CHAR;
  53.     icon      [9] : w.DiskObjectPtr;
  54.     freelist [10] : w.FreeListPtr )
  55.   : LONGINT;
  56. PROCEDURE PutIcon* [base,-48]
  57.   ( name [8] : ARRAY OF CHAR;
  58.     icon [9] : w.DiskObjectPtr )
  59.   : BOOLEAN;
  60. PROCEDURE FreeFreeList* [base,-54]
  61.   ( freelist [8] : w.FreeListPtr );
  62. PROCEDURE AddFreeList* [base,-72]
  63.   ( freelist [8] : w.FreeListPtr;
  64.     mem      [9] : e.APTR;
  65.     size    [10] : e.ULONG )
  66.   : BOOLEAN;
  67. PROCEDURE GetDiskObject* [base,-78]
  68.   ( name [8] : ARRAY OF CHAR )
  69.   : w.DiskObjectPtr;
  70. PROCEDURE PutDiskObject* [base,-84]
  71.   ( name    [8] : ARRAY OF CHAR;
  72.     diskobj [9] : w.DiskObjectPtr )
  73.   : BOOLEAN;
  74. PROCEDURE FreeDiskObject* [base,-90]
  75.   ( diskobj [8] : w.DiskObjectPtr );
  76. PROCEDURE FindToolType* [base,-96]
  77.   ( toolTypeArray [8] : e.APTR;
  78.     typeName      [9] : ARRAY OF CHAR )
  79.   : e.LSTRPTR;
  80. PROCEDURE MatchToolValue* [base,-102]
  81.   ( typeString [8] : ARRAY OF CHAR;
  82.     value      [9] : ARRAY OF CHAR )
  83.   : BOOLEAN;
  84. PROCEDURE BumpRevision* [base,-108]
  85.   ( VAR newname [8] : ARRAY OF CHAR;
  86.     oldname     [9] : ARRAY OF CHAR );
  87.  
  88. (* --- functions in V36 or higher (distributed as Release 2.0) ---*)
  89.  
  90. PROCEDURE GetDefDiskObject* [base,-120]
  91.   ( type [0] : LONGINT )
  92.   : w.DiskObjectPtr;
  93. PROCEDURE PutDefDiskObject* [base,-126]
  94.   ( diskObject [8] : w.DiskObjectPtr )
  95.   : BOOLEAN;
  96. PROCEDURE GetDiskObjectNew* [base,-132]
  97.   ( name [8] : ARRAY OF CHAR )
  98.   : w.DiskObjectPtr;
  99. PROCEDURE DeleteDiskObject* [base,-138]
  100.   ( name [8] : ARRAY OF CHAR )
  101.   : BOOLEAN;
  102.  
  103. (*-- Library Base variable --------------------------------------------*)
  104.  
  105. <*$LongVars-*>
  106.  
  107. (*-----------------------------------*)
  108. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  109.  
  110. BEGIN (* CloseLib *)
  111.   IF base # NIL THEN e.CloseLibrary (base) END
  112. END CloseLib;
  113.  
  114. BEGIN
  115.   base := e.OpenLibrary (iconName, e.libraryMinimum);
  116.   IF base = NIL THEN HALT (100) END;
  117.   Kernel.SetCleanup (CloseLib)
  118. END Icon.
  119.